The present invention relates to the field of consumer electronic devices. In particular, the present invention pertains to a system and method for allocating bandwidth on a home network.
The typical entertainment system (e.g., that might be found in a home or office) consists of a variety of different consumer electronic devices which present and record audio/visual (AV) media in different ways. For instance, typical AV equipment found in a home includes a number of components such as a radio receiver or xe2x80x9ctuner,xe2x80x9d a compact disk (CD) player and/or a digital video disc player (DVD), a number of speakers, a television, a video cassette recorder (VCR), a tape deck, and the like. Each of these components are connected to each other via a set of wires.
One component is usually the central component of the AV system; for example, the tuner. The central component has a number of specific inputs for coupling the other components. The central component has a corresponding number of control buttons or control switches which provide a limited degree of controllability and interoperability for the components. A user controls the AV system by manipulating the buttons and switches on the front of the central component or, alternatively, by manipulating buttons on a hand-held remote control unit. This conventional AV system paradigm has become quite popular.
Consumer electronic devices have become more capable and more complex, and the demand for the latest and most capable devices has increased. As new devices emerge and become popular, the devices are purchased by consumers and xe2x80x9cpluggedxe2x80x9d into their home or office AV systems. In turn, the conventional AV system paradigm is being replaced with a home or office AV network architecture for networking consumer electronic devices. The AV network architecture provides a powerful platform on which device functionality and interoperability can be built, and is capable of taking advantage of the increased sophistication that is being incorporated into consumer electronic devices.
The underlying structure of a home or office AV network consists of a set of interconnected clusters of consumer electronic devices. Typically, there may be more than one cluster in a home or office, perhaps one per floor or one per room. Each cluster functions as a set of interconnected devices to provide services to a single user or to multiple simultaneous users. A central component such as a set top box provides overall control and coordination of the network, although typically there is more than one user interface for providing user input and commands to the devices on the network. The consumer electronic devices on the AV network are interconnected by a serial bus.
A communication standard, the IEEE 1394 standard, has been proposed for networking consumer electronic devices using a standard communication protocol layer. The IEEE 1394 standard is an international standard for implementing an inexpensive high-speed serial bus architecture which supports both asynchronous and isochronous format data transfers. The IEEE 1394 standard provides a high-speed serial bus for interconnecting digital devices, thereby providing universal input/output connection. The IEEE 1394 standard defines a digital interface for applications, thereby eliminating the need for an application to convert digital data to an analog form before it is transmitted across the bus. Correspondingly, a receiving application will receive digital data, not analog data, from the bus and will therefore not be required to convert analog data to digital form. The IEEE 1394 standard is ideal for consumer electronics communication in part because devices can be added to or removed from the serial bus while the bus is active.
One problem with an AV network is associated with the maximum bandwidth capacity of the network bus. That is, there is a maximum rate at which the network bus can carry data; a typical bandwidth capacity is 100-200 megabits/second. Each device on the AV network consumes a certain amount of the available bandwidth capacity when the device is transmitting data; for example, a video camera typically transmits data at a rate of 30 megabits/second. Therefore, in an AV network with a total bandwidth capacity of 100 megabits/second, a video camera consumes 30 megabits/second of the total, leaving 70 megabits/second remaining for other devices to use.
A problem occurs when the AV network is operating at or near its bandwidth capacity. A user may wish to transmit data from one device on the network to another device on the network, but the data transfer cannot occur because it requires more bandwidth capacity then is available. Likewise, a user may wish to add to the network a new device that requires more bandwidth capacity than is available. The problem is exacerbated when there is more than one user of the AV network, and further exacerbated by the physical separation between devices in a AV network. Typically, the users will be acting independently, out of sight of each other and perhaps out of sight of the devices they are operating. Hence, the prior art is problematic because it is difficult for the users to coordinate their actions, in order to try and determine, first, what devices are functioning on the network and, second, which devices are using or causing the bandwidth capacity of the bus to be exceeded.
The prior art is also problematic because the information available to the user or users is probably not sufficient enough for them to make an informed choice regarding which device or devices to turn off when bus bandwidth is exceeded. For example, without information about the required bandwidth capacity of each device, turning off devices indiscriminately may not free up enough bandwidth capacity. There also may be alternatives available that the users are not aware of, such as reducing the bandwidth being utilized by a device by terminating one of the applications the device is running, instead of turning the device off. Without adequate information, a disadvantage to the prior art is that devices are turned off unnecessarily to the dismay of one user, when in fact other steps could have been taken to reach a satisfactory solution.
Another disadvantage to the prior art is the need to manually swap out one device for another on a periodic basis, while trying to balance the bandwidth requirements of the various devices against the capacity of the network, will be viewed as an inconvenience by many home users. In addition, as devices and their applications become more complex, and as the number of devices on home AV networks grow, the capability to manage the network as described above may be beyond the expertise of many home users.
Therefore, what is needed is a mechanism that assists users in identifying bandwidth capacity that is or can be made available when a device is added to a home AV network or when a new connection between devices on the network is needed. What is also needed is a mechanism that assists the user in determining which devices and applications can or should be shut off to create the required bandwidth capacity. What is further needed is a mechanism that is user friendly and conveniently implemented in a home AV network.
Accordingly, the present invention provides an automatic mechanism to assist users in identifying bus bandwidth capacity that is or can be made available when a device is added to an AV network or when a new connection is needed between devices on the network. The present invention also provides a mechanism that assists the user in determining which devices and applications can or should be shut off to create the required bus bandwidth capacity. The present invention is user friendly and conveniently implemented in an AV network. These and other objects and advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.
The present invention provides a method and system for automatically freeing up and allocating bandwidth on a network bus in an AV network. When a request for a new connection (e.g., a communication channel) between two devices (e.g., a source device and a sink device) is received, the present invention implements an intelligent process to determine if a new channel is needed, and to make adequate bus bandwidth capacity available if so. First, the present invention determines whether a communication channel is already allocated to the source device, and if so, the connection between the source device and the sink device is made using an overlay of the existing channel. Otherwise, the present invention compares the required bus bandwidth capacity for the source device with the available bus bandwidth capacity. The present invention then implements voluntary and forced load shedding techniques, and deallocates bus bandwidth capacity allocated to one or more of the devices on the network if the available bus bandwidth capacity is less than the required bus bandwidth capacity. The present invention allocates a new channel between the source device and the sink when the available bus bandwidth capacity is greater than or equal to the required bus bandwidth capacity.
Specifically, in the present embodiment, the present invention described herein identifies existing communication channels that are unused and deallocates those channels as necessary until available adequate bus bandwidth capacity is available. The present invention also identifies bus bandwidth capacity allocated to cooperating applications and, after receiving authorization from the cooperating applications, deallocates that bandwidth capacity to the extent necessary to make available adequate bus bandwidth capacity (e.g., voluntary load shedding). The present invention also identifies bus bandwidth capacity allocated to devices that are designated as low priority by a user of the network, and deallocates the bus bandwidth capacity allocated to the lowest priority device to the extent necessary to make available adequate bus bandwidth capacity (e.g., forced load shedding).